package date420;

import java.util.ArrayList;
import java.util.Stack;

/*
 * @author 
 */
public class Solution {
	public static void main(String[] args) {
		Solution solution = new Solution();
		long time = System.currentTimeMillis();

		// System.out.println(solution.replaceSpace(new StringBuffer("my name is
		// alice")));
		System.out.println(solution.printListFromTailToHead(solution.new ListNode(1)));
		long end = System.currentTimeMillis();
		System.out.println(end - time + "ms");
	}

	/*
	 * 在一个二维数组中，每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，
	 * 判断数组中是否含有该整数。
	 */
	public boolean Find(int target, int[][] array) {
		for (int i = 0; i < array.length; i++) {
			for (int j = 0; j < array[i].length; j++) {
				if (target == array[i][j]) {
					return true;
				}
			}
		}
		return false;
	}

	/*
	 * 请实现一个函数，将一个字符串中的空格替换成“%20”。例如，当字符串为We Are
	 * Happy.则经过替换之后的字符串为We%20Are%20Happy。
	 */
	public String replaceSpace(StringBuffer str) {
		StringBuffer sBuffer = new StringBuffer();
		for (int i = 0; i < str.length(); i++) {
			if (str.charAt(i) == ' ') {
				sBuffer.append("%20");
			} else {
				sBuffer.append(str.charAt(i));
			}
		}
		return sBuffer.toString();
	}

	/*
	 * 输入一个链表，从尾到头打印链表每个节点的值。
	 */
	public class ListNode {
		int val;
		ListNode next = null;

		ListNode(int val) {
			this.val = val;
		}
	}

	ArrayList<Integer> list = new ArrayList<Integer>();

	public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
		Stack<Integer> stack = new Stack<>();

		while (listNode != null) {
			stack.push(listNode.val);
			listNode = listNode.next;
		}
		while (!stack.isEmpty()) {
			list.add(stack.pop());
		}
		return list;
	}

}